package com.example.ch04jdbcuser.init;

import com.example.ch04jdbcuser.dao.UserInfoDao;
import com.example.ch04jdbcuser.entity.UserInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

/**
 * @description:
 * @author:ScorpioWang
 * @date:2021-11-01-00-14
 */
// @Component
public class JdbcInit {

    @Autowired
    private UserInfoDao dao;

    //Java中该注解的说明：@PostConstruct该注解被用来修饰一个非静态的void（）方法。
    // 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行，并且只会被服务器执行一次。
    // PostConstruct在构造函数之后执行，init（）方法之前执行。
    // @PostConstruct
    public void init(){
        BCryptPasswordEncoder encoder=new BCryptPasswordEncoder();
        UserInfo u=new UserInfo();
        u.setUsername("wang");
        u.setPassword(encoder.encode("123"));
        u.setRole("normal");
        dao.save(u);

        UserInfo u1=new UserInfo();
        u1.setUsername("jin");
        u1.setPassword(encoder.encode("admin"));
        u1.setRole("admin");
        dao.save(u1);
    }
}
